/** @jsxImportSource @emotion/react */
import * as React from "react";
import {
    Text,  BlobInputList,
} from "customize-easy-ui-component";
import {
    InspectRecordLayout, InternalItemProps,  useItemInputControl,
} from "../../common/base";
import {useMeasureInpFilter} from "../../common/hooks";
import {usePrefixDataEdit} from "../../hook/usePrefixData";

interface Props  extends InternalItemProps{
    label?: string;
    titles?: any[];
}

// const view腐蚀=(orc:any)=>{
//     return <Text css={{fontSize:'0.75rem'}}>腐蚀裕度（mm）</Text>
// };
// const view容积=(orc:any)=>{
//     return <Text>{orc?.是换热? '换热面积':'容积'}</Text>
// };
// const render容积换热={
//     view:(orc:any)=>{
//         const has=!!(orc?.是换热);
//         //<Text css={{ [theme.mediaQueries.lg+', print']: {wordBreak: 'keep-all'} }}>{has? 'm²' : 'm³'}</Text>
//         return <>
//             <div css={{ display: 'flex',justifyContent: 'space-around',alignItems: 'center'}}>
//                 <Text>{orc?.容积换热}</Text>
//                 <Text>{has? 'm²' : 'm³'}</Text>
//             </div>
//         </>
//     },
// };
//【新配置模式】做法的：  ['内径差', {t: '筒体同一断面上最大内径与最小内径差', pr: '几何尺寸检验', span: 5,u:'mm'}],
//模型参考： [[desc, name, cb], add2p]: any, i: number)
//pr前缀只能继承同一个列的前面几个连续同样设置的行的配置。 左边和右边两半列区是独立的。 或者设置pr:null就是去掉该前缀影响范围或者不是{}的标题也自动去掉继承性前缀。
export const config资料审查 = [
    [['设备名称', '_$设备名称'], ['检验类别', '_$检验类别',],  ],
    [['设备代码','_$设备代码'], ['使用登记证编号', '_$使用证号'],  ],
    [['使用单位', '_$使用单位'], ['使用单位组织机构代码','_$使用单位信用码'], ],
    [['使用单位地址', '_$使用单位地址'],  ],
    [['安全管理人员', '安全员'], ['联系电话', '安全员电'], ],
    [['设计单位', '_$设计单位'],  ],
    [['设计日期', '_$设计日期'], ['产品标准', '_$产品标准'] ],
    // 罐车图号
    [['罐车图号', '_$设计图号'], ['设计使用年限', '_$设计年限', '年'], ],
    [['制造单位', '_$制造单位'],  ],
    [['制造日期', '_$制造日期'],  ['产品编号', '_$出厂编号'] ],
    [['监检证书编号', '监检证'], ['（型式）试验证书编号', '型试证'], ],
    [['投入使用日期', '_$投用日期'], ['上次检验日期', {n:'上次定检日期',t:'d'},], ],
    [[{pr:'结构型式', span:2, t:'主体结构型式'}, '_$主体结构'], ['安装型式', '_$安装型式'] ],
    [[{t:'支座型式'}, '_$支座型式'], ['保温绝热方式', '_$保温绝热方式'] ],
    //【拆分点】
    //orc.是换热? '换热面积':'容积'}
    [['容积', '_$容积换热', 'm³'], ['内径', '_$内径', 'mm'],  ],
    //允许充装量 =  (pa?.充重);  //.充重(Tool.castFloat(pms.getLoadweight()))
    [['长度', '_$罐外形长','mm'], ['最大充许充装量', {n:'_$允许充装量',u:'kg'},] ],
    [['设计压力', '_$设计压力', 'MPa'], ['设计温度',{n:'设计温', u:'℃'}]  ],
    [[{pr:'材质', span:4, t:'筒体'}, '_$筒体材质'],   [{pr:'厚度', span:4, t:'筒体'}, '_$筒体厚度' ,'mm'] ],
    [[{t:'封头'}, '_$封头材质'],         [{t:'封头'}, '_$封头厚度' ,'mm'] ],
    //外壳:?      台账没有 “外壳封头材质”：
    [[{t:'外壳筒体'}, '_$外筒体材质'],    [{t:'外壳筒体'}, '_$外筒体厚度','mm'] ],
    [[{t:'外壳封头'}, '外封头材质'],      [{t:'外壳封头'}, '_$外封头厚度','mm'] ],
    [['腐蚀裕量', '_$腐蚀裕量', 'mm'], ['介质', '_$工作介质',],  ],
];


/**资料审查主体  config={config资料审查}
 * */
export const MaterialReview=
React.forwardRef((
    { children, show ,alone=true,redId,nestMd,label,titles}:Props,  ref
) => {
    const {inp, setInp} = useItemInputControl({ref});
    const [renderEditor, itemA审查概况] = usePrefixDataEdit({
                               inp, setInp, config: config资料审查,  });
    const [getInpFilter] = useMeasureInpFilter(null, itemA审查概况, );
    return <InspectRecordLayout inp={inp} setInp={setInp} getInpFilter={getInpFilter} show={show} redId={redId}
                                nestMd={nestMd} alone={alone} label={label!}>
        <Text variant="h5">{label}：</Text>
        资料审查设备概况除在台账业务信息中可修改外还需修改的部分:
        {renderEditor}
        { children }
    </InspectRecordLayout>;
});


export const itemA上次问题: string[]=['资料审查','上次缺处'];
export const PreviousQuestion=
    React.forwardRef((
        { children, show ,alone=true,redId,nestMd,label,titles}:Props,  ref
    ) => {
        const [getInpFilter]=useMeasureInpFilter(null,itemA上次问题,);
        const {inp, setInp} = useItemInputControl({ ref });
        return <InspectRecordLayout inp={inp} setInp={setInp} getInpFilter={getInpFilter} show={show} redId={redId}
                                    nestMd={nestMd} alone={alone} label={label!}>
            <Text variant="h5">{label}：</Text>
            资料审查：
            <BlobInputList value={inp?.资料审查 || ''} rows={6} datalist={['资料基本齐全。']}
                           onListChange={v => setInp({...inp, 资料审查: v || undefined})}/>
            <br/>
            上次定期检验问题记载：
            <BlobInputList value={inp?.上次缺处 || ''} rows={6} datalist={['上次年度检验报告编号：  ， 检验机构： 特种设备检测研究院。']}
                           onListChange={v => setInp({...inp, 上次缺处: v || undefined})}/>
        </InspectRecordLayout>;
    });
